Rate Base Monitor Method in OBD II (On Board Diagnosis Version II) revised in 2002 will be applied to a vehicle of a model year of 2005. According to Rate Base Monitor Method, a frequency ratio of failure diagnosis that an engine ECU conducts on an O2 sensor or the like is required to be not less than a given value. In detail, the frequency ratio is defined as a fractional number (=(numerator)/(denominator)), while the number of times of failure diagnosis (failure diagnosis frequency) and the number of times of vehicle's operating state (operating frequency) are defined as a numerator and a denominator, respectively. Furthermore, it is required that the failure diagnosis frequency and the operating frequency be stored in a non-volatile memory for the frequency ratio of the failure diagnosis to be able to be practically confirmed. Here, for preventing overflow in the non-volatile memory, when either the failure diagnosis frequency or the operating frequency reaches 65535±2(=(216−1)±2), values of the stored failure diagnosis frequency and operating frequency are reduced to half. This is specified by a regulation.
On the other hand, in an EEPROM (Electrically Erasable Programmable and Read Only Memory) as the non-volatile memory, stored contents are erased or written by injecting or extracting electron via tunnel oxide film to/from a floating gate. Here, the electron motion develops stress and damage in the tunnel oxide film, so that the rewriting frequency must be limited to be under operation guarantee frequency (e.g., 100,000 times).
Thus, the non-volatile memory must be used under a condition where the rewriting frequency is less than the operation guarantee frequency. JP-B2-H5-52000 therefore discloses memory designing. Here, a storing area of an EEPROM is divided into plural blocks, each of which is provided with a storing portion for the rewriting frequency in the block as a counter value. When it is determined, with the counter value, that the rewriting frequency of a certain block being a present storing block reaches a given value less than the operation guarantee frequency, the present storing block is switched from the certain block to another block.
However, this memory designing involves increase of required memory volume in the non-volatile memory due to providing the storing portion for the rewriting frequency in each block.